package com.ocom.common.entity.payconfig;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @Description: TODO
 * @Author: 朱晖
 * @Date: 2023/2/20
 **/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName(value = "meal_plan")
public class EntityMealPlan implements Serializable {
	private static final long serialVersionUID = 1630466425563331377L;

	/**
	 * 自增id，主键
	 */
	@JsonProperty("mealplanId")
	@TableId(value = "mealplan_id", type = IdType.AUTO)
	private Integer mealplanId;


	private Long comId;
	private Integer merchId;
	private Integer pointId;
	@JsonProperty("planName")
	private String planName;
	@JsonProperty("startDate")
	@JsonFormat(timezone = "GMT+08")
	private Date startDate;
	@JsonProperty("stopDate")
	@JsonFormat(timezone = "GMT+08")
	private Date stopDate;
	@JsonProperty("cycleDays")
	private Integer cycleDays;
	private String remark;

	private String tagId;

	/**
	 * 创建时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+08")
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

	/**
	 * 创建人Id
	 */
	private Integer createUserid;

	/**
	 * 更新时间
	 */
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+08")
	@TableField(fill = FieldFill.INSERT)
	private Date updateTime;


	@TableField(exist = false)
	String pointName;

	@TableField(exist = false)
	String merchName;

	/*
	* 2.47	修改11.3.3增加排餐计划（newMealPlan）、 11.3.4修改排餐计划（updateMealPlan）,添加配送类型、取餐点、计划类型*/
	private Integer receiptType; //配送类型； 0：堂食自取，1：配送至取餐点

	private String receiptIds; //取餐点ids;Receipt_address.receipt_id；（自取也可通过取餐点体现），用逗号隔开

	private String planType; //计划类型； 1：点餐，2：订餐，3：商城，多选,号分隔（选3时不可多选其他，固定周期1天），空都不支持。

	private Integer consType;//消费类型 1:饭堂，2：商店

	/**
	 * 时间A在 范围B内是第几天
	 */
	@TableField(exist = false)
	private Integer days;

	/**
	 * 商户、消费点、取餐点信息
	 */
	@TableField(exist = false)
	private String InfoIds;

	@TableField(exist = false)
	private Integer limitType;
}

/**
 * mysql> CREATE TABLE `meal_plan` (
 *   `mealplan_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '排餐计划编号',
 *   `com_id` int(11) NOT NULL COMMENT '单位编号',
 *   `merch_id` int(11) DEFAULT '0' COMMENT '商户编号（0表示单位）',
 *   `point_id` int(11) DEFAULT NULL COMMENT '消费点编号',
 *   `plan_name` varchar(50) DEFAULT '' COMMENT '排餐计划名称',
 *   `start_date` date DEFAULT '2022-10-31' COMMENT '启用日期',
 *   `stop_date` date DEFAULT '2099-12-31' COMMENT '停用日期',
 *   `cycle_days` tinyint(4) DEFAULT '7' COMMENT '周期（天数）',
 *   `remark` varchar(255) DEFAULT '' COMMENT '说明',
 *   `create_time` datetime DEFAULT NULL COMMENT '生成时间',
 *   `create_userid` int(11) DEFAULT NULL COMMENT '创建人p_id',
 *   `update_time` datetime DEFAULT NULL,
 *   PRIMARY KEY (`mealplan_id`)
 * ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='排餐计划表';
 */


/* 2.47	修改11.3.3增加排餐计划（newMealPlan）、 11.3.4修改排餐计划（updateMealPlan）,添加配送类型、取餐点、计划类型
*
ALTER TABLE meal_plan
 ADD COLUMN receipt_type TINYINT (4) DEFAULT 0 COMMENT '配送类型； 0：堂食自取，1：配送至取餐点',
 ADD COLUMN receipt_ids text COMMENT '取餐点ids;Receipt_address.receipt_id；（自取也可通过取餐点体现），用逗号隔开',
 ADD COLUMN plan_type VARCHAR (20) DEFAULT '' COMMENT '计划类型； 1：点餐，2：订餐，3：商城，多选,号分隔（选3时不可多选其他，固定周期1天），空都不支持。';
 * */

/*2023-5-15
* 新增消费类型
* ALTER TABLE meal_plan ADD COLUMN cons_type TINYINT(4) DEFAULT 0 COMMENT '消费类型 1:饭堂，2：商店';
* */